1. Field of the Invention
The present invention relates generally to an improved data processing system and in particular to a method and apparatus for performing dynamic mapping of parameters used by service oriented architecture services. Still more particularly, the present invention relates to a computer implemented method, apparatus, and a computer usable program product for dynamically identifying and defining, at runtime, the mappings of parameters used by services oriented architectures used by live services.
2. Description of the Related Art
In modern information technology business systems, a workflow program allows businesses and other organizations to define their business operations as a computer model known as a workflow. A workflow defines a series of processes to be performed by users at a client computer or by automated tasks at server computers. User activities at the client computers may involve updating an electronic form, reviewing information, or performing other activities. Automated tasks at server computers may involve generating, processing or storing of information. After a user or an automated task in the workflow performs the specified action, the work item or other information is then routed to one or more nodes where further action may be taken.
For instance an online purchase of a product may involve numerous steps, such as receiving the customer order, routing the customer order to the credit department to process the bill, and then routing the order to the shipping department to prepare the shipment. Once the shipment is prepared the product may be shipped and information on the purchase is then transferred to the customer service department to take any further action.
Each of these processes may be defined as nodes in a workflow. A workflow program can then route the customer order to the business agents designated to handle the job. For instance, the initial order could be received by the order department and then routed to a person in shipping and billing. Once the bill and package are prepared, a further invoice may be forwarded to shipping. After shipping sends the package, the shipping agent may then enter information into the invoice and forward the electronic invoice to customer service for any follow-up action.
A workflow is designed using workflow software which can be obtained from a variety of vendors, including International Business Machines Corporation. Workflow software is used by process modelers, who analyze the business operations to determine how the information related to the operations is routed electronically to client or server computers. A process modeler also defines a workflow model of the operations. The workflow model may be imported into a runtime program that verifies and translates the workflow model into a process template. An instance of the process template can then be invoked to automate the sequence of events defined by the model.
A web service, or simply service, is a software component running on a data processing system, though a service could be implemented in hardware. As used herein, the term live service refers to a service that is currently available for invocation. The service is described via a service contract. The software component usually includes some combination of programming and data, but possibly also includes human resources as well. A service is capable of being accessed and executed via standard network protocols, such as but not limited to Simple Object Access Protocol (SOAP) and HyperText Transfer Protocol (HTTP).
A service contract is a machine-readable description of the operations supported by the service. An example of a service contract is the Web Services Description Language (WSDL), which is an XML-based language that provides a model for describing Web services. Known solutions for service compositions are based on development tools where service contracts are to be imported, and code is generated for each service binding. A service binding defines the communication protocol and data encoding used to communicate with the service. Examples of communication protocols include Simple Object Access Protocol (SOAP) and HyperText Transfer Protocol (HTTP). Data encoding refers to how data is encoded, such as, for example, document/literal versus Remote Procedure Call (RPC)/literal data encoding.